package org.jeecg.modules.live.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @Description: 直播信息
 * @Author: jeecg-boot
 * @Date:   2020-05-06
 * @Version: V1.0
 */
@Data
@TableName("live_info")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="live_info对象", description="直播信息")
public class LiveInfo {

	/**主键ID 直播ID*/
	@TableId(type = IdType.ID_WORKER_STR)
    @ApiModelProperty(value = "主键ID 直播ID")
	private String id;
	/**创建人*/
	@Excel(name = "创建人", width = 15)
    @ApiModelProperty(value = "创建人")
	private String createBy;
	/**创建时间*/
	@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
	private Date createTime;
	/**修改人*/
	@Excel(name = "修改人", width = 15)
    @ApiModelProperty(value = "修改人")
	private String updateBy;
	/**修改时间*/
	@Excel(name = "修改时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "修改时间")
	private Date updateTime;
	/**直播人*/
	@Excel(name = "直播人", width = 15)
    @ApiModelProperty(value = "直播人")
	private String userId;
	/**直播状态 0：直播中 1：直播未开始 2：直播结束 3：直播强制终止*/
	@Excel(name = "直播状态 0：直播中 1：直播未开始 2：直播结束 3：直播强制终止", width = 15)
    @ApiModelProperty(value = "直播状态 0：直播中 1：直播未开始 2：直播结束 3：直播强制终止")
	private Integer liveStatus;
	/**当前在线人数*/
	@Excel(name = "当前在线人数", width = 15)
    @ApiModelProperty(value = "当前在线人数")
	private String onlineNumNow;
	/**在线人数峰值*/
	@Excel(name = "在线人数峰值", width = 15)
    @ApiModelProperty(value = "在线人数峰值")
	private String onlineNumPeakValue;
	/**直播开始时间*/
	@Excel(name = "直播开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "直播开始时间")
	private Date liveStartTime;
	/**直播结束时间*/
	@Excel(name = "直播结束时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "直播结束时间")
	private Date liveEndTime;
	/**直播推流地址*/
	@Excel(name = "直播推流地址", width = 15)
    @ApiModelProperty(value = "直播推流地址")
	private String pushUrl;
	/**直播播放地址*/
	@Excel(name = "直播播放地址", width = 15)
    @ApiModelProperty(value = "直播播放地址")
	private String broadcastUrl;
	/**直播播放地址*/
	@Excel(name = "封面url", width = 15)
	@ApiModelProperty(value = "封面url")
	private String coverUrl;
	/**直播播放地址*/
	@Excel(name = "主标题", width = 15)
	@ApiModelProperty(value = "主标题")
	private String mainTitle;
	/**直播播放地址*/
	@Excel(name = "副标题", width = 15)
	@ApiModelProperty(value = "副标题")
	private String subTitle;
	/**直播流ID*/
	@Excel(name = "直播流ID", width = 15)
	@ApiModelProperty(value = "直播流ID")
	private String streamId;
	/**直播房间号*/
	@Excel(name = "直播房间号", width = 15)
	@ApiModelProperty(value = "直播房间号")
	private String roomId;
    /**直播位置*/
    @Excel(name = "直播位置", width = 15)
    @ApiModelProperty(value = "直播位置")
    private String liveLocation;
	/**点赞数量*/
	@Excel(name = "点赞数量", width = 15)
	@ApiModelProperty(value = "点赞数量")
	private Integer thumbsNum;


	//yagang add 2020-05-27
	@ApiModelProperty(value = "直播用户昵称")
	@TableField(exist=false)
	private String userNickName;

	@ApiModelProperty(value = "直播用户头像")
	@TableField(exist=false)
	private String userHeadPhoto;

}
